//后台请求根路径

import loadingStore from "../store/loading";
import store from "../store/login";


// var baseURL = "https://api.anred.qrsk.net"
const baseURL = "http://192.168.110.30:9091"
export var imgURL = "https://api.anred.qrsk.net/admin"
export var imgURL2 = "https://api.anred.qrsk.net/applet"
export var imgURL3 = "https://api.anred.qrsk.net/applet/profile/image/"//静态图片
// var authorization = uni.getStorageSync('token')

export default class Request {
	http(param : any) {
		// 请求参数
		var url = param.url,
			method = param.method,
			header = {
				'content-type': "application/json",
				'siteId':"100",
				// 'Authorization': store.state.token
				'Authorization': '83e78f6cc7584b359ef895d9a14c9f15'
			},
			data = param.data || {},
			hideLoading = param.hideLoading || false;
		if (param.header) {
			header = {
				'siteId':"100",
				'content-type': "application/x-www-form-urlencoded",
				'Authorization': store.state.token
			}
		}
		//拼接完整请求地址
		var requestUrl = baseURL + url;
		//请求方法
		if (method) {
			method = method.toUpperCase(); //小写改为大写
		}
		//加载圈
		if (!hideLoading) {
			// uni.showLoading({
			//     title: '加载中...'
			// });
			loadingStore.state.LoadingModel = true
		}

		// 返回promise
		return new Promise((resolve) => {
			// 请求
			uni.request({
				url: requestUrl,
				data: data,
				method: method,
				header: header,
				success: (res : any) => {
					// console.log(res, "axios");
					// 判断 请求api 格式是否正确
					// if (res.statusCode && res.statusCode != 200) {
					// 	uni.showToast({
					// 		//后台把错误请求信息放在msg中
					// 		title: '系统错误 可反馈 感谢(￣▽￣)',
					// 		icon: "error"
					// 	});
					// 	// 将结果抛出
					// 	resolve(res.data)
					// 	return;
					// }
					if (res.data.code && res.data.code != 200) {
						if (res.data.msg === '请先登录') {
							uni.removeStorageSync('token')
							store.state.token = ''
							store.loginTip()
						} else {
							uni.showToast({
								//后台把错误请求信息放在msg中
								title: res.data.msg,
								icon: "none"
							});
						}
						console.log('后端自定义错误=====')
						// 将结果抛出
						resolve(res.data)
						return
					}
					if (res.data.data == null) {
						// 将结果抛出
						resolve(res.data)
						return
					}
					// 将结果抛出
					resolve(res.data)
				},
				//请求失败
				fail: (e : any) => {
					console.log(e);
					uni.showToast({
						title: "请求失败" + e.errMsg,
						icon: 'none'
					});
					resolve(e.data);
				},
				//请求完成
				complete() {
					//隐藏加载
					// if (!hideLoading) {
					//     uni.hideLoading();
					// }
					loadingStore.state.LoadingModel = false
					return;
				}
			})
		})
	}
}
